package com.lovegu.heap;

/**
 * <p>
 * 实现堆的接口
 * </p>
 *
 * @author 老顾
 * @since 2023/3/22
 */
public interface IHeap<E> {

    /**
     * 增加元素
     *
     * @param e 元素
     * @return true/false
     */
    boolean add(E e);

    /**
     * 删除元素
     *
     * @param e 元素
     * @return true/false
     */
    boolean offer(E e);

    /**
     * 入堆
     *
     * @return 元素
     */
    E poll();

    /**
     * 出堆
     *
     * @return 元素
     */
    E peek();
}
